ShellでJSONを使う
概要
Shellでモノを作ってて、受け渡す値とかをJSONにしたくなった。
Shellでそんなものまさか無いだろう、と思ったらあったので、記録までに
コレ
https://github.com/dominictarr/JSON.sh
使い方
JSONのparseだけが出来る。
で、pipeでその後の取得処理とかを書くという面白スタイル。
サンプル
リソース(params.json)
{
"marker":"p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 22.0px",
"picker":"<p class=\"p1\">"
}
式
./JSON.sh < params.json
結果
["marker"] "p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 22.0px"
["picker"] "<p class=\"p1\">"
[] {"marker":"p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 22.0px","picker":"<p class=\"p1\">"}
こんな感じに、[key] (tab) value になる。
使い方
./JSON.sh < params.json | 全キーを取り出す式
とか
./JSON.sh < params.json | キーAを使ってバリューAを取り出す式
とかやってた。
サンプルのmarkerが欲しければ、
./libraries/JSON.sh < params.json | egrep '\["marker"\]' | cut -d' ' -f2 | sed s/'\"'//g